package com.yzh.oop5.teacher;

/**
 * 学生类
 * this的作用
 *    指定当前对象自身
 *    每创建一个对象，就有一个this
 *
 * this的使用
 *  1.调用成员变量：如果和局部变量同名，必须使用this。不同名，this可以省略
 *  2.调用成员方法：this可以直接省略
 *  3.调用构造方法：this不能省略，必须是第一条语句
 *
 */
public class Student {

    //成员变量
    String name;//姓名
    String sex;//性别
    int age;//年龄
    double score=90;//分数

    //构造方法
    public Student(){
        //super();

    }
    public Student(String name,String sex,int age){
        //super();
        this.name = name;
        this.sex = sex;
        this.age = age;
    }
    public Student(String name,String sex,int age,double score1){
        //super();
        //new Student(name,sex,age);
//        this.name = name;
//        this.sex = sex;
//        this.age = age;
        //this.score = score1;
        this(name,sex,age);//如果使用this调用构造方法，必须是构造方法的第一条语句
        score = score1;
    }

    //成员方法
    public void study(){
        //System.out.println("--------good good study，day day up！-------");
        this.shout();
        System.out.println("-------Student study hard!!-----");
        this.shout();
    }

    public void shout(){
        //shout();
        System.out.println("--------good good study，day day up！-------");
    }
    public void eat(){
        //this.shout();

        //System.out.println("--------good good study，day day up！-------");
        System.out.println("------eating....---------");
        shout();
    }
    public void introduce(){
        System.out.println(this.name+"\t"+this.sex+"\t"+age+"\t"+score);
    }

    public static void main(String[] args) {
        //创建学生1
        Student stu1 = new Student("zhangsan","男",23,89);
        stu1.shout();
        stu1.study();
        stu1.introduce();
        stu1.eat();
        stu1.shout();
        //创建学生2
        Student stu2 = new Student();
        stu2.name = "lisi";
        //Student stu2 = new Student("lisi","女",18);
        stu2.score = 100;
        stu2.study();
        stu2.introduce();

    }

}
